TibiaWiki:Standards/NPC
Supported parameters Parameter spacing In the source, it is harder to edit if parameters are not aligned correctly. * Parameters should have 1 padding space left and right of the parameters. * Additional padding to the left should be applied to align them with the longest parameter. ** At the present, the implemented parameter is the longest (11 characters). All parameters should be 13 characters in length (including the left and right padding), or 14 including the bar ( | ). * "Meta" parameters should not be padded. Meta parameters tell the template how to deal with the data, these parameters are: *# List *# GetValue * All meta parameters should be declared on the first line with the template call. The "template call" line should look like this: *: }|GetValue= } Name * Name must be the same as the which should be the same as the NPC's in-game name. * The name cannot have any of these characters: | , ; Job (job''n'') (Parameter is self explanatory ... any specific rules we need for this ? we don't seem to have a list of supported jobs anywhere) Location * Location must be a string * There can be multiple locations but each of these must be connected with a comma (,). For that reason it is recommended you avoid using commas to connect clauses in the list of locations. * Locations should be given relative to well-known landmarks, such as Depots, or places a player comes from (boat, carpet, etc.). * Mapper links should exist where appropriate. Mapper links should not be the only location information, it should supplement text. ** Mapper links should contain their coordinates inside square brackets. Previously it was customary to write the link's alt text as 'here', this practice makes raw text viewing difficult. Although usually the coordinates don't help viewers much, it makes it more clear that a link points to the mapper. * Generally be as concise as you can; if you need to use clause connectors or parentheses (-, ;, ()) it's probably more verbose than it must be. Examples: * Gruffy: :Location: Carlin, Winterberry Cellar, here. :Location: Carlin Winterberry Cellar . * Rashid: Before: this NPC actually has his location in the notes ... but it doesn't belong there. :Travels around between Carlin and various Premium cities. On Mondays you can find him in Svargrond, in Dankwart's tavern, south of the temple. On Tuesdays you can find him in Liberty Bay, in Lyonel's tavern, west of the depot. On Wednesdays you can find him in Port Hope, in Clyde's tavern, north of the ship. On Thursdays you can find him in Ankrahmun, in Arito's tavern, above the post office. On Fridays you can find him in Darashia, in Miraia's tavern, south of the guildhalls. On Saturdays you can find him in Edron, in Mirabell's tavern, above the depot. On Sundays you can find him in Carlin depot, one floor above. After: :Svargrond tavern on Monday , Liberty Bay tavern on Tuesday , Port Hope tavern on Wednesday , Ankrahmun tavern on Thursday , Darashia tavern on Friday , Edron tavern on Saturday , Carlin depot on Sunday . City * City should be the closest city to an NPC. It should not take more than one value. Implemented (TODO: copy from TibiaWIki:Standards/Items) Sounds * Sounds are the words spoken by an NPC even when not talked to. * Sounds should exist verbatim from the game. Do not fix typos, case errors, factual errors or anything else. (If you believe it is a bug, report it to a tutor and when it is fixed in-game it can be updated.) * Sounds should NOT contain text spoken upon spoken with. They are transcripts and belong on the NPC's /Transcripts subpage. * All sounds should be enclosed within apostrophes. * Sounds should be split with a comma (,). It is common to find semicolons. This should be changed to commas. * Sounds should not terminate with any character; omit the "." in the list. Buysell * "yes" if the NPC buys or sells items. "no" otherwise. * Use lowercase and omit the "." at the end. Buys * Buys is the parameter for trades in which the NPC takes an item off the player's hands. * Omit if |buysell = no * Use Template:Price to Sell. Here's what one might look like: *: ** The format for this is: ItemName: * The ItemName should be the name of an item. Exact name, not an alias (Mastermind Shield, not MMS, even if a redirect exists at MMS). ItemValue: * The ItemValue should be omitted if the item is bought for the highest value of that item. In this example, Axe, Battle Axe and Sword are sold for the highest value to an NPC. * The ItemValue can only take a number (or it will bug the table sort, sorting by string instead of number). ItemNoteID ** The ItemNoteID should be omitted if the item has no requirements to sell it. ** The ItemNoteID takes an ID which describes the requirement. *** If the requirement applies to the entire NPC, it should be listed on the template, not in the trades. *** If the requirement applies to a few items, give those items an ID and associate the ID with descriptive text on Template:NPC Trades/Notes. Sells See Buys above, only: * Instead of selling to the NPC, you buy from the NPC. * Instead of considering highest price to sell (to NPC), consider lowest price to buy (from NPC). Notes (TODO: copy from TibiaWiki:Standards/Items) Examples :Note: trades list will be shortened because they can get very long. } | name = Rashid | location = Svargrond tavern on Monday , Liberty Bay tavern on Tuesday , Port Hope tavern on Wednesday , Ankrahmun tavern on Thursday , Darashia tavern on Friday , Edron tavern on Saturday , Carlin depot on Sunday . | city = Varies | implemented = | job = Travelling Salesman | sounds = None. | notes = You need to win his trust before selling any items to him. He travels to a different city everyday. Today is }} seconds - 10 hours }} so you will find him at }} seconds - 10 hours }}|Monday=Svargrond|Tuesday=Liberty Bay|Wednesday=Port Hope|Thursday=Ankrahmun|Friday=Darashia|Saturday=Edron|Sunday=Carlin}}. If it is not }} seconds - 10 hours }} (UTC -10}} ( )), action=purge}} click here to purge the cache. To be able to trade with him, you must complete The Traveling Trader Quest. | buysell = yes | buys = }}